<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>WarningsGuard (Closure Compiler)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="WarningsGuard (Closure Compiler)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/google/javascript/jscomp/WarningLevel.html" title="enum in com.google.javascript.jscomp"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/google/javascript/jscomp/WarningsGuard.Priority.html" title="enum in com.google.javascript.jscomp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/javascript/jscomp/WarningsGuard.html" target="_top">Frames</a></li>
<li><a href="WarningsGuard.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.google.javascript.jscomp</div>
<h2 title="Class WarningsGuard" class="title">Class WarningsGuard</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.google.javascript.jscomp.WarningsGuard</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../com/google/javascript/jscomp/ByPathWarningsGuard.html" title="class in com.google.javascript.jscomp">ByPathWarningsGuard</a>, <a href="../../../../com/google/javascript/jscomp/ComposeWarningsGuard.html" title="class in com.google.javascript.jscomp">ComposeWarningsGuard</a>, <a href="../../../../com/google/javascript/jscomp/DiagnosticGroupWarningsGuard.html" title="class in com.google.javascript.jscomp">DiagnosticGroupWarningsGuard</a>, <a href="../../../../com/google/javascript/jscomp/ShowByPathWarningsGuard.html" title="class in com.google.javascript.jscomp">ShowByPathWarningsGuard</a>, <a href="../../../../com/google/javascript/jscomp/StrictWarningsGuard.html" title="class in com.google.javascript.jscomp">StrictWarningsGuard</a>, <a href="../../../../com/google/javascript/jscomp/WhitelistWarningsGuard.html" title="class in com.google.javascript.jscomp">WhitelistWarningsGuard</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">WarningsGuard</span>
extends java.lang.Object
implements java.io.Serializable</pre>
<div class="block">Class that allows to flexibly manage what to do with a reported
 warning/error.

 Guard has several choices:
   - return OFF - suppress the warning/error
   - return WARNING
   - return ERROR report it with high severity
   - return null. Does not know what to do with it. Lets the other guard
       decide what to do with it.

 Although the interface is very simple, it allows you easily customize what
 warnings you are interested in.

 For example there are could be several implementations:
   StrictGuard - {return ERROR}. All warnings should be treat as errors.
   SilentGuard - {if (WARNING) return OFF}. Suppress all warnings but still
     fail if JS has errors.
   WhitelistGuard (if !whitelistErrors.contains(error) return ERROR) return
     error if it does not present in the whitelist.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#com.google.javascript.jscomp.WarningsGuard">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/WarningsGuard.Priority.html" title="enum in com.google.javascript.jscomp">WarningsGuard.Priority</a></strong></code>
<div class="block">Priority</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../com/google/javascript/jscomp/WarningsGuard.html#WarningsGuard()">WarningsGuard</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/WarningsGuard.html#disables(com.google.javascript.jscomp.DiagnosticGroup)">disables</a></strong>(<a href="../../../../com/google/javascript/jscomp/DiagnosticGroup.html" title="class in com.google.javascript.jscomp">DiagnosticGroup</a>&nbsp;group)</code>
<div class="block">Returns whether all warnings in the given diagnostic group will be
 filtered out.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/WarningsGuard.html#enables(com.google.javascript.jscomp.DiagnosticGroup)">enables</a></strong>(<a href="../../../../com/google/javascript/jscomp/DiagnosticGroup.html" title="class in com.google.javascript.jscomp">DiagnosticGroup</a>&nbsp;group)</code>
<div class="block">Returns whether any of the warnings in the given diagnostic group will be
 upgraded to a warning or error.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/WarningsGuard.html#getPriority()">getPriority</a></strong>()</code>
<div class="block">The priority in which warnings guards are applied.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../com/google/javascript/jscomp/CheckLevel.html" title="enum in com.google.javascript.jscomp">CheckLevel</a></code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/WarningsGuard.html#level(com.google.javascript.jscomp.JSError)">level</a></strong>(<a href="../../../../com/google/javascript/jscomp/JSError.html" title="class in com.google.javascript.jscomp">JSError</a>&nbsp;error)</code>
<div class="block">Returns a new check level for a given error.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="WarningsGuard()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>WarningsGuard</h4>
<pre>public&nbsp;WarningsGuard()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="level(com.google.javascript.jscomp.JSError)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>level</h4>
<pre>public abstract&nbsp;<a href="../../../../com/google/javascript/jscomp/CheckLevel.html" title="enum in com.google.javascript.jscomp">CheckLevel</a>&nbsp;level(<a href="../../../../com/google/javascript/jscomp/JSError.html" title="class in com.google.javascript.jscomp">JSError</a>&nbsp;error)</pre>
<div class="block">Returns a new check level for a given error. OFF - suppress it, ERROR -
 report as error. null means that this guard does not know what to do
 with the error. Null is extremely helpful when you have a chain of
 guards. If current guard returns null, then the next in the chain should
 process it.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>error</code> - a reported error.</dd>
<dt><span class="strong">Returns:</span></dt><dd>what level given error should have.</dd></dl>
</li>
</ul>
<a name="getPriority()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriority</h4>
<pre>protected&nbsp;int&nbsp;getPriority()</pre>
<div class="block">The priority in which warnings guards are applied. Lower means the
 guard will be applied sooner. Expressed on a scale of 1 to 100.</div>
</li>
</ul>
<a name="disables(com.google.javascript.jscomp.DiagnosticGroup)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disables</h4>
<pre>protected&nbsp;boolean&nbsp;disables(<a href="../../../../com/google/javascript/jscomp/DiagnosticGroup.html" title="class in com.google.javascript.jscomp">DiagnosticGroup</a>&nbsp;group)</pre>
<div class="block">Returns whether all warnings in the given diagnostic group will be
 filtered out. Used to determine which passes to skip.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>group</code> - A group of DiagnosticTypes.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Whether all warnings of these types are disabled by this guard.</dd></dl>
</li>
</ul>
<a name="enables(com.google.javascript.jscomp.DiagnosticGroup)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>enables</h4>
<pre>protected&nbsp;boolean&nbsp;enables(<a href="../../../../com/google/javascript/jscomp/DiagnosticGroup.html" title="class in com.google.javascript.jscomp">DiagnosticGroup</a>&nbsp;group)</pre>
<div class="block">Returns whether any of the warnings in the given diagnostic group will be
 upgraded to a warning or error.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>group</code> - A group of DiagnosticTypes.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Whether any warnings of these types are enabled by this guard.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/google/javascript/jscomp/WarningLevel.html" title="enum in com.google.javascript.jscomp"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/google/javascript/jscomp/WarningsGuard.Priority.html" title="enum in com.google.javascript.jscomp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/javascript/jscomp/WarningsGuard.html" target="_top">Frames</a></li>
<li><a href="WarningsGuard.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
